package com.shrcl.engineerprocess.domain;

import com.shrcl.engineerprocess.domain.EngineerLevel;
import com.shrcl.engineerprocess.domain.TSCPhase;
import com.shrcl.engineerprocess.domain.TSCWorkLoadType;
import edu.fudan.mylang.pf.IDAOService;
import java.util.Collection;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;

public interface TSCWorkLoadTypeDAO extends IDAOService<TSCWorkLoadType> {
  public abstract TSCWorkLoadType create(final Procedure1<? super TSCWorkLoadType> init);
  
  public abstract Collection<TSCWorkLoadType> getAllTSCWorkLoadType();
  
  public abstract void delete(final TSCWorkLoadType workLoadType);
  
  public abstract void obsolete(final TSCWorkLoadType workLoadType);
  
  public abstract void recover(final TSCWorkLoadType workLoadType);
  
  public abstract Collection<TSCWorkLoadType> getTSCWorkLoadType(final TSCPhase phase, final EngineerLevel engineerLevel);
}
